(function() {
    // 创建一个存放食物的数组，以便于后边小蛇吃到食物后对食物进行删操作
    var foodTags = [];

    // 创建一个食物的构造函数
    function Food(width, height, x, y, color) {
        // 设食物的宽高
        this.width = width || 20;
        this.height = height || 20;
        // 设置食物的横纵坐标
        this.x = x || 0;
        this.y = y || 0;
        // 设置食物的颜色
        this.color = color || 'green';
    }

    // 对食物进行初始化
    Food.prototype.init = function(map) {
        // 防止创建食物的函数误调用多次，确保页面上只有一个食物
        remove();

        // 创建食物
        var food = document.createElement('div');

        // 把食物添加到地图中
        map.appendChild(food);

        // 设置食的样式
        food.style.width = this.width + 'px';
        food.style.height = this.height + 'px';
        food.style.backgroundColor = this.color;

        // 食物随机出现的位置
        food.style.position = 'absolute';
        food.style.left = parseInt(Math.random() * (map.offsetWidth / this.width)) * this.width + 'px';
        this.x = food.style.left;
        food.style.top = parseInt(Math.random() * (map.offsetHeight / this.height)) * this.height + 'px';
        this.y = food.style.top;

        //将食物放在存放食物的数组中
        foodTags.push(food);
    };

    // 创建一个删除食物的私有函数
    function remove() {
        // console.log(foodTags)
        for (var i = 0; i < foodTags.length; i++) {
            var foodTag = foodTags[i];

            // 在地图中将该食物删除
            foodTag.parentNode.removeChild(foodTag);

            // 在存放食物的数组中将该元素删除
            foodTags.splice(i, 1);
        }
    }

    // 把Food暴露在全局
    window.Food = Food;
})();